// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:30


// Source File Name:   ud.java

package com.zelix;

import java.io.*;


//            kd, zd, nm, ks, 
//            is, ys, zs, om, 
//            sn, wn, ux, ly, 
//            sy, jb, um

public class ud extends kd
{

    is g;
    private static String z[];

    ud(jb jb, nm nm1)
        throws IOException
    {
        super(18);
        int i = jb.read();
        g = nm1.a(i);
    }

    public ud(is is1)
    {
        super(18);
        g = is1;
    }

    public sn a(sn sn1, boolean flag, boolean flag1, um um)
    {
        wn awn1[];
        wn awn2[];
label0:
        {
            int j = kd.e;
            wn awn[] = sn1.c();
            int i = awn.length;
            awn1 = wn.a(i + 1);
            awn2 = sn1.f();
            System.arraycopy(awn, 0, awn1, 0, i);
            if(g instanceof om)
            {
                String s = ((om)g).a();
                if(s.equals(z[1]))
                {
                    awn1[i] = wn.i;
                    if(j == 0)
                        break label0;
                }
                if(s.equals(z[0]))
                {
                    awn1[i] = wn.s;
                    if(j == 0)
                        break label0;
                }
                if(!s.equals(z[2]))
                    break label0;
                awn1[i] = wn.k;
                if(j == 0)
                    break label0;
            }
            if(g instanceof ks)
                awn1[i] = wn.D;
        }
        return new sn(awn1, awn2, sn1.e());
    }

    public final boolean b()
    {
        return true;
    }

    public final boolean a(int i, int j)
    {
        return false;
    }

    public final boolean c()
    {
        return false;
    }

    public void a(PrintWriter printwriter, StringBuffer stringbuffer, int i)
    {
        String s = g.k();
        StringBuffer stringbuffer1 = new StringBuffer(100);
        String s1 = kd.h(super.d);
        stringbuffer1.append(s1 + " " + s);
        String s2 = kd.e(super.d);
        s2 = kd.a(s2, s);
        if(s2 != null)
            stringbuffer1.append("\t" + s2);
        printwriter.println(stringbuffer.toString() + stringbuffer.toString() + stringbuffer1);
    }

    public int d()
    {
        return 2;
    }

    public is a()
    {
        return g;
    }

    public kd h()
    {
        if(g.j() > 255)
            return new zd(19, g);
        else
            return null;
    }

    public boolean n()
    {
        return g instanceof ys;
    }

    public boolean a(sy sy1, ly ly1, Object obj, int i)
    {
        if(g instanceof ys)
        {
            zs zs1 = ((ys)g).m();
            if(zs1.a() >= 2 && !ly1.a(zs1))
            {
                sy1.b(obj, g, kd.c.a(i));
                return true;
            } else
            {
                return false;
            }
        } else
        {
            return false;
        }
    }

    public boolean o()
    {
        return true;
    }

    public void a(DataOutputStream dataoutputstream)
        throws IOException
    {
        super.a(dataoutputstream);
        dataoutputstream.writeByte(g.j());
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x21;
                    break;
                case 1:
                    key = 53;
                    break;
                case 2:
                    key = 4;
                    break;
                case 3:
                    key = 58;
                    break;
                default:
                    key = 40;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[3];
        as[0] = "aAvSFu";
        as[1] = "{[p_OwG";
        as[2] = "tYk[\\";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}